<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
    <script type="text/javascript"></script>
    <link href="/Public/Index/layui/css/layui.css" rel="stylesheet">
    <link href="/Public/Index/css/common.css" rel="stylesheet">
    <link href="/Public/Index/css/index.css" rel="stylesheet">
</head>

<body>
    <div>
        <div class="top border dis-flex flex-x-start flex-y-center f-16 col-main f-b">
            订单车辆调度
        </div>
        <div class="main">
            <div class="box border">
                <form class="layui-form" action="">
                    <div class="layui-row">
                        <div class="layui-col-xs11">
                            <div class="layui-form-item" style="margin-bottom: 0px;margin-top:3px;">
                                <div class="layui-inline">
                                    <label class="layui-form-label">客户</label>
                                    <div class="layui-input-inline">
                                        <input type="text" name="sourcename" placeholder="输入客户名称" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">始发地</label>
                                    <div class="layui-input-inline layui-input-wrap">
                                        <div class="layui-input-prefix">
                                            <i class="layui-icon layui-icon-flag"></i>
                                        </div>
                                        <input type="text" name="sourcestolocaddress" placeholder="输入出发区域" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">目的地</label>
                                    <div class="layui-input-inline layui-input-wrap">
                                        <div class="layui-input-prefix">
                                            <i class="layui-icon layui-icon-flag"></i>
                                        </div>
                                        <input type="text" name="destaddress" placeholder="输入目的地地区域" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">接单日</label>
                                    <div class="layui-input-inline layui-input-wrap">
                                        <div class="layui-input-prefix">
                                            <i class="layui-icon layui-icon-date"></i>
                                        </div>
                                        <input type="text" name="orderdate" id="date" value="<?= $nowdate ?>" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">订单号</label>
                                    <div class="layui-input-inline layui-input-wrap">
                                        <div class="layui-input-prefix">
                                            <i class="layui-icon layui-icon-list"></i>
                                        </div>
                                        <input type="text" name="sourcenum1" value="" placeholder="输入订单号" class="layui-input" lay-affix="clear">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">运单号</label>
                                    <div class="layui-input-inline layui-input-wrap">
                                        <div class="layui-input-prefix">
                                            <i class="layui-icon layui-icon-list"></i>
                                        </div>
                                        <input type="text" name="sourcenum2" value="" placeholder="输入运单号" class="layui-input" lay-affix="clear">
                                    </div>
                                </div>
                               
                                <div class="layui-inline">
                                    <label class="layui-form-label">状态</label>
                                    <div class="layui-input-inline" style="width:550px;">
                                        <input type="checkbox" name="orderstate[]" value="待调度" title="待调度">
                                        <input type="checkbox" name="orderstate[]" value="已调度" title="已调度">
                                        <input type="checkbox" name="orderstate[]" value="已送达" title="已送达">
                                        <input type="checkbox" name="orderstate[]" value="已回单" title="已回单">
                                        <input type="checkbox" name="orderstate[]" value="待结算" title="待结算">
                                        <input type="checkbox" name="orderstate[]" value="已结算" title="已结算">
                                    </div>
                                </div>
                                
                            </div>
                        </div>
                        <div class="layui-col-xs1" style="padding-top:20px;">
                            <div class="layui-inline">
                                <div class="layui-input-inline" >
                                   <button class="layui-btn layui-bg-orange layui-btn-sm" lay-submit lay-filter="demo-table-search">搜索</button>
                                    <button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>

            <div id="orderlistbox" class="box border m_top10 orderlist" >
                <table class="layui-hide" id="orderlist" lay-filter="orderlist"></table>
            </div>
            <div class="box border m_top10">

                <!-- <div class="layui-row">
                    <div class="layui-col-xs8">
                        <table class="layui-hide" id="cysclxz" lay-filter="cysclxz"></table>
                    </div>
                    <div class="layui-col-xs4">
                        <div class="grid-demo">6/12</div>
                    </div>
                </div> -->

                
                <div class="layui-tab layui-tab-card">
                    <ul class="layui-tab-title">
                        <li>车辆紧急调度</li>
                    </ul>
                    <div class="layui-tab-content">
                        <div class="layui-tab-item layui-show tab_box diaoducheliang">
                            <table class="layui-hide" id="diaoducheliang" lay-filter="diaoducheliang"></table>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>


    <!-- 订单分页栏模板 -->
    <script type="text/html" id="ID-table-demo-page-pagebar">
        <!-- <div class="layui-btn-container">
            <button class="layui-btn layui-btn-sm" lay-event="hebingdingdan" style="margin-right:-10px">合并订单</button>
        </div> -->
    </script>
    <script type="text/html" id="toolbarDemo">
        <div class="layui-btn-container">
            <!-- <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
            <button class="layui-btn layui-btn-sm" lay-event="getData">获取当前页数据</button> -->
            <!-- <button class="layui-btn layui-btn-sm" id="dropdownButton">
              下拉按钮
              <i class="layui-icon layui-icon-down layui-font-12"></i>
            </button> -->
            <div class="layui-btn layui-btn-primary layui-border layui-btn-sm no_border f-14 col-main f-b">待调度订单</div>
            <!-- <button class="layui-btn layui-btn-sm layui-bg-blue" id="reloadTest">
              重载数据
              <i class="layui-icon layui-icon-down layui-font-12"></i>
            </button> -->
            <button class="layui-btn layui-btn-sm layui-btn-primary" id="rowMode">
              <span>{{= d.lineStyle ? '多行' : '单行' }}模式</span>
              <i class="layui-icon layui-icon-down layui-font-12"></i>
            </button>
        </div>
    </script>
    <script type="text/html" id="toolbarDemo2">
        <div class="layui-btn-container">
            <!-- <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
            <button class="layui-btn layui-btn-sm" lay-event="getData">获取当前页数据</button> -->
            <!-- <button class="layui-btn layui-btn-sm" id="dropdownButton">
              下拉按钮
              <i class="layui-icon layui-icon-down layui-font-12"></i>
            </button> -->
            <!-- <div class="layui-btn layui-btn-primary layui-border layui-btn-sm no_border f-14 col-main f-b">待调度车辆</div> -->
            <!-- <button class="layui-btn layui-btn-sm layui-bg-blue" id="reloadTest">
              重载数据
              <i class="layui-icon layui-icon-down layui-font-12"></i>
            </button> -->
            <button class="layui-btn layui-btn-sm layui-btn-primary" id="rowMode">
              <span>{{= d.lineStyle ? '多行' : '单行' }}模式</span>
              <i class="layui-icon layui-icon-down layui-font-12"></i>
            </button>
        </div>
    </script>
    <script type="text/html" id="toolbar_hwmx">
        <div class="layui-btn-container">
            <!-- <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
            <button class="layui-btn layui-btn-sm" lay-event="getData">获取当前页数据</button> -->
            <!-- <button class="layui-btn layui-btn-sm" id="dropdownButton">
              下拉按钮
              <i class="layui-icon layui-icon-down layui-font-12"></i>
            </button> -->
            <!-- <div class="layui-btn layui-btn-primary layui-border layui-btn-sm no_border f-14 col-main f-b">货物明细</div> -->
            <!-- <button class="layui-btn layui-btn-sm layui-bg-blue" id="reloadTest">
              重载数据
              <i class="layui-icon layui-icon-down layui-font-12"></i>
            </button> -->
            <button class="layui-btn layui-btn-sm layui-btn-primary" id="rowMode">
              <span>{{= d.lineStyle ? '多行' : '单行' }}模式</span>
              <i class="layui-icon layui-icon-down layui-font-12"></i>
            </button>
        </div>
    </script>
    <script type="text/html" id="barDemo">
        <div class="layui-clear-space">
            <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
            <a class="layui-btn layui-btn-xs" lay-event="more">
              更多
              <i class="layui-icon layui-icon-down"></i>
            </a>
        </div>
    </script>




    <!-- 字段处理 ---------------------------------------------------------------------------------->
    <!-- 普通字段 -->
    <script type="text/html" id="TPL-text-demo">
        {{#  if(d.id == ''){ }}
            <input data-field="{{= d.LAY_COL.field || '' }}" class="layui-input text-demo" placeholder="请输入{{= d.title}}" value="">
        {{#  }else{ }}
            {{= d[d.LAY_COL.field] }}
        {{#  } }}
    </script>
    <!-- laydate -->
    <script type="text/html" id="TPL-laydate-demo">
        {{#  if(d.idx == ''){ }}
            <input data-field="{{= d.LAY_COL.field || '' }}" class="layui-input laydate-demo" placeholder="选择日期" value="">
        {{#  }else{ }}
            {{= d[d.LAY_COL.field] }}
        {{#  } }}
      
    </script>
    <!-- 原生 select 模板（推荐） -->
    <script type="text/html" id="TPL-select-primary">
      {{#  var cityList = d.cityList || ["北京","上海","广州","城市-1"]; }}
      <select name="city" class="layui-border select-demo-primary" lay-ignore>
        <option value="">原生 select</option>
        {{#  layui.each(cityList, function(i, v){ }}
        <option value="{{= v }}" {{= v === d.city ? 'selected' : '' }}>{{= v }}</option>
        {{#  }); }}
      </select>
    </script>
    <!-- 新增数据保存前删除 -->
    <script type="text/html" id="befor_save_del_Demo">
      <div class="layui-clear-space">
        {{#  if(d.id == ''){ }}
            <a class="layui-btn layui-bg-red layui-btn-xs" lay-event="newdel">删除</a>
            <a class="layui-btn layui-btn-xs" lay-event="save">保存</a>
        {{#  } }}
      </div>
    </script>
    <!-- 字段处理 ---------------------------------------------------------------------------------->



    <script src="/Public/Index/layui/layui.js"></script>
    <script>

    layui.use(['form', 'laydate','table', 'dropdown'], function() {
        var table = layui.table;
        var dropdown = layui.dropdown;
        var form = layui.form;
        var layer = layui.layer;
        var laydate = layui.laydate;

        var $ = layui.jquery;

        //日期设置
        laydate.render({
            elem: '#date'
        });

        //搜索表单提交
        form.on('submit(demo-table-search)', function(data){

            var field = data.field; // 获得表单字段

            var pdata = {};

            if(field.kehu != ''){
                pdata.kehu = field.kehu ;
            }
            if(field.endadd != ''){
                pdata.endadd = field.endadd ;
            }
            if(field.orderdate != ''){
                pdata.orderdate = field.orderdate ;
            }
            if(field.status != ''){
                pdata.status = field.status ;
            }

            console.log(pdata);

            // 执行搜索重载
            table.reload('orderlist', {
              page: {
                curr: 1 // 重新从第 1 页开始
              },
              where: field // 搜索的字段
            });


            return false; // 阻止默认 form 跳转
        });

        // 创建渲染实例
        table.render({
            elem: '#orderlist',
            url: '/index.php?s=/store/wlyunshu.api/getorderlist', // 此处为静态模拟数据，实际使用时需换成真实接口
            toolbar: '#toolbarDemo',
            defaultToolbar: ['filter', 'exports', 'print',{
              title: '全屏',
              layEvent: 'full_screen',
              icon: 'layui-icon-screen-full'
            }],
            pagebar: '#ID-table-demo-page-pagebar', // 分页栏模板
            height: '350', // full-35最大高度减去其他容器已占有的高度差
            css: [ // 重设当前表格样式
                '.layui-table-tool-temp{padding-right: 145px;}'
            ].join(''),
            cellMinWidth: 60,
            loading:true,
            totalRow: false, // 开启合计行
            page: true,
            limit:50,
            even: true, //跨行背景
            parseData: function(res){ // res 即为原始返回的数据
                console.log(res);

                if(res.data.list){
                    return {
                      "code": res.code, // 解析接口状态
                      "msg": res.msg, // 解析提示文本
                      "count": res.data.list.page.total, // 解析数据长度
                      "data": res.data.list.data // 解析数据列表
                    };
                }else{
                    return {
                      "code": res.code, // 解析接口状态
                      "msg": '暂无无数据', // 解析提示文本
                      "count": 0, // 解析数据长度
                      "data": [] // 解析数据列表
                    };
                }
              },
            cols: [
                [
                    { field: 'idx', fixed: 'left', width: 50, title: 'ID', sort: false},
                    { field: 'orderstate',fixed: 'left',   width: 80, title: '状态', sort: false},

                    { field: 'sourcenum1',fixed: 'left',   width: 150, title: '订单编号', sort: false},
                    { field: 'sourcenum2',fixed: 'left',   width: 150, title: '发运单号', sort: false},

                    { field: 'orderdate',  width: 120, title: '接单日期', sort: false},
                    { field: 'orderdate1',  width: 120, title: '下单日期', sort: false},

                    { field: 'orderweigh',  width: 100, title: '订单重量', sort: false},
                    { field: 'orderVolume',  width: 100, title: '订单体积', sort: false},

                    { field: 'sourceid',  width: 100, title: '客户编号', sort: false},
                    { field: 'sourcename',  width: 100, title: '客户名称', sort: false},
                    
                    // { field: 'sourcenum3',  width: 100, title: '仓库客户端编号3', sort: false},
                    // { field: 'sourcekindid',  width: 100, title: '仓库类型编号', sort: false},

                    { field: 'sourcekind',  width: 100, title: '仓库类型', sort: false},
                    { field: 'sourceprovince',  width: 100, title: '仓库省', sort: false},
                    { field: 'sourcecity',  width: 100, title: '仓库市', sort: false},

                    // { field: 'sourcestolocid',  width: 100, title: '仓库地点编号', sort: false},
                    // { field: 'sourcestoloc',  width: 100, title: '仓库库存地点', sort: false},
                    { field: 'sourcestolocaddressid',  width: 100, title: '仓库库存地址编号', sort: false},
                    { field: 'sourcestolocaddress',  width: 260, title: '仓库库存地址', sort: false},

                    // { field: 'destid',  width: 100, title: '目的地编号', sort: false},
                    { field: 'destname',  width: 200, title: '目的地名称', sort: false},
                    // { field: 'destnum1',  width: 100, title: '目的地客户端编号1', sort: false},
                    // { field: 'destnum2',  width: 100, title: '目的地客户端编号2', sort: false},
                    // { field: 'destnum3',  width: 100, title: '目的地客户端编号3', sort: false},

                    { field: 'destprovince',  width: 100, title: '目的地地省', sort: false},
                    { field: 'destpcity',  width: 100, title: '目的地市', sort: false},
                    // { field: 'destpcounty',  width: 100, title: '目的地区', sort: false},
                    // { field: 'destparea',  width: 100, title: '目的地区域', sort: false},
                    { field: 'destaddress',  width: 100, title: '目的地地址', sort: false},

                    { field: 'destman1',  width: 100, title: '目的地联络人', sort: false},
                    // { field: 'destman2',  width: 100, title: '目的地联络人2', sort: false},
                    // { field: 'destman3',  width: 100, title: '目的地联络人3', sort: false},

                    { field: 'destphone1',  width: 150, title: '目的地联络电话', sort: false},
                    // { field: 'destphone2',  width: 100, title: '目的地联络电话2', sort: false},
                    // { field: 'destphone3',  width: 100, title: '目的地联络电话3', sort: false},

                    { field: 'orderdate2',  width: 170, title: '参考日期', sort: false},
                    { field: 'orderdate3',  width: 170, title: '发运日期', sort: false},
                    // { field: 'orderdate4',  width: 170, title: '日期', sort: false},

                    
                    { field: 'ordernote',  width: 200, title: '订单备注', sort: false},
              


                ]
            ],
            done: function(res, curr, count, origin) {

                //设置分组单元格样式
                res.data.forEach(function(item,index){
                    if (item.groupid !== null && item.orderstate != '组合单') {
                        var tr = $(".orderlist .layui-table tr[data-index="+index+"]");
                        if(item.orderstate == '待调度'){
                            tr.addClass("layui-table-group");
                        }else{
                            tr.addClass("layui-table-group-hasdd");
                        }
                    }
                    if (item.groupid !== null && item.orderstate == '组合单') {
                        // $(".orderlist .layui-table tr[data-index="+index+"]").find('td:first').html('');
                        $(".orderlist .layui-table tr[data-index="+index+"] input[type='checkbox']").attr('disabled', 'disabled');;
                        $(".orderlist .layui-table tr[data-index="+index+"] .layui-form-checkbox").addClass("layui-checkbox-disabled layui-disabled");
                    }
                })

                var id = this.id;
                // 下拉按钮测试
                dropdown.render({
                    elem: '#dropdownButton', // 可绑定在任意元素中，此处以上述按钮为例
                    data: [{
                        id: 'add',
                        title: '添加'
                    }, {
                        id: 'update',
                        title: '编辑'
                    }, {
                        id: 'delete',
                        title: '删除'
                    }],
                    // 菜单被点击的事件
                    click: function(obj) {
                        var checkStatus = table.checkStatus(id)
                        var data = checkStatus.data; // 获取选中的数据
                        switch (obj.id) {
                            case 'add':
                                layer.open({
                                    title: '添加',
                                    type: 1,
                                    area: ['80%', '80%'],
                                    content: '<div style="padding: 16px;">自定义表单元素</div>'
                                });
                                break;
                            case 'update':
                                if (data.length !== 1) return layer.msg('请选择一行');
                                layer.open({
                                    title: '编辑',
                                    type: 1,
                                    area: ['80%', '80%'],
                                    content: '<div style="padding: 16px;">自定义表单元素</div>'
                                });
                                break;
                            case 'delete':
                                if (data.length === 0) {
                                    return layer.msg('请选择一行');
                                }
                                layer.msg('delete event');
                                break;
                        }
                    }
                });
                

                // 行模式
                dropdown.render({
                    elem: '#rowMode',
                    data: [{
                        id: 'default-row',
                        title: '单行模式（默认）'
                    }, {
                        id: 'multi-row',
                        title: '多行模式'
                    }],
                    // 菜单被点击的事件
                    click: function(obj) {
                        var checkStatus = table.checkStatus(id)
                        var data = checkStatus.data; // 获取选中的数据
                        switch (obj.id) {
                            case 'default-row':
                                table.reload('orderlist', {
                                    lineStyle: null // 恢复单行
                                });
                                layer.msg('已设为单行');
                                break;
                            case 'multi-row':
                                table.reload('orderlist', {
                                    // 设置行样式，此处以设置多行高度为例。若为单行，则没必要设置改参数 - 注：v2.7.0 新增
                                    lineStyle: 'height: 95px;'
                                });
                                layer.msg('已设为多行');
                                break;
                        }
                    }
                });
            },
            error: function(res, msg) {
                console.log(res, msg)
            }
        });

        // 工具栏事件
        table.on('toolbar(orderlist)', function(obj) {
            var id = obj.config.id;
            var checkStatus = table.checkStatus(id);
            var othis = lay(this);
            switch (obj.event) {
                case 'getCheckData':
                    var data = checkStatus.data;
                    layer.alert(layui.util.escape(JSON.stringify(data)));
                    break;
                case 'getData':
                    var getData = table.getData(id);
                    console.log(getData);
                    layer.alert(layui.util.escape(JSON.stringify(getData)));
                    break;
                case 'full_screen':

                    var height = $('body').height();

                    if(!$('.orderlist').hasClass('full_screen')){
                        $('.orderlist').addClass('full_screen');
                        /*table.reload('orderlist', {
                            height: '#orderlistbox-20', // full-35最大高度减去其他容器已占有的高度差
                        });*/
                        $('#orderlistbox .layui-icon-screen-full').removeClass('layui-icon-screen-full').addClass('layui-icon-screen-restore');
                        $('#orderlistbox .layui-table-body').css('height',(height-180)+'px');
                    }else{
                        $('.orderlist').removeClass('full_screen');
                        /*table.reload('orderlist', {
                            height: '#orderlistbox-1', // full-35最大高度减去其他容器已占有的高度差
                        });*/
                        $('#orderlistbox .layui-table-body').css('height','217px');
                    }

                    
                    //$('#orderlistbox .layui-icon-screen-full').parent().hide();
                    //$('#orderlistbox .layui-icon-screen-restore').parent().show();
                    break;

                
            };
        });

        // 底部分页栏事件
        table.on('pagebar(orderlist)', function(obj){
            var eventValue = obj.event; // 获得按钮 lay-event 值
            var id = obj.config.id;
            var checkStatus = table.checkStatus(id)
            var data = checkStatus.data; // 获取选中的数据

            if (eventValue === 'hebingdingdan') {

                var order_idxs = [];

                if(data.length > 0){

                    var cango = 1;
                    data.forEach(function(item){
                        if(item.groupid !== null){
                            cango = 0;
                        }
                        order_idxs.push(item.idx) ;
                    }) ;

                    if(!cango){
                        layer.alert("包含已合并过的订单,无法重复合并!", {
                            title: '提示'
                        });
                        return false;
                    }

                    var idxs = order_idxs.join(',');


                    $.get("/index.php?s=/store/wlyunshu.api/orderset",{idxs:idxs},function(resalt){
                        if(resalt.code==0){
                            table.reloadData('orderlist');
                            layer.msg('合并完成', {icon: 1});
                        }else{
                            layer.msg('合并失败', {icon: 2});
                        }
                    });

                    
                }else{
                    layer.alert("没有选中要合并订单!", {
                        title: '提示'
                    });
                }


                /*table_huowumingxi.reloadData('hwmx',{
                    data:huowus
                });*/
                
            }

            //layer.msg(eventValue);
        });

        // 表头自定义元素工具事件 --- 2.8.8+
        table.on('colTool(orderlist)', function(obj) {
            var event = obj.event;
            console.log(obj);
            if (event === 'email-tips') {
                layer.alert(layui.util.escape(JSON.stringify(obj.col)), {
                    title: '当前列属性配置项'
                });
            }
        });

        // 复选框事件
        table.on('checkbox(orderlist)', function(obj){

            console.log(obj); // 查看对象所有成员
            console.log(obj.checked); // 当前是否选中状态
            console.log(obj.data); // 选中行的相关数据
            console.log(obj.type); // 若触发的是全选，则为：all；若触发的是单选，则为：one

            var id = obj.config.id;

            console.log(id,'idid');

            if(!obj.checked){
                if(Object.keys(obj.data).includes('groupid') && obj.data.groupid !== null){
                    var all_data = table.getData(id);
                    all_data.forEach(function(item,index){
                        if(Object.keys(item).includes('groupid') && item.groupid == obj.data.groupid ){
                            table.setRowChecked('orderlist', {
                              index: index, // 所有行
                              checked: false
                            });
                        }
                    })
                }
                setHwmx();
                return false;
            }

            var checkStatus = table.checkStatus(id)
            var selected_data = checkStatus.data; // 获取选中的数据

            if(selected_data.length > 0){

                //如果选中的是分组数据
                if(obj.data.groupid !== null){
                
                    table.setRowChecked('orderlist', {
                        index: 'all', // 所有行
                        checked: false
                    });

                    var all_data = table.getData(id);
                    all_data.forEach(function(item,index){
                        if(Object.keys(item).includes('groupid') && item.groupid !==null && obj.data.groupid ==item.groupid ){
                            table.setRowChecked('orderlist', {
                                index: index, // 所有行
                                checked: true
                            });
                        }
                    })

                    if(obj.data.orderstate == '已调度'){
                        search_che({
                            groupid:obj.data.groupid
                        })
                    }else{
                        search_che({status : '待调度'});
                    }

                }else{
                    console.log(selected_data,3433);
                    let has_group_select = false;
                    selected_data.forEach(function(item,index){
                        if(Object.keys(item).includes('groupid') && item.groupid !==null ){
                            has_group_select = true;
                        }
                    })

                    if(has_group_select){
                        var all_data = table.getData(id);
                        all_data.forEach(function(item,index){
                            if(Object.keys(item).includes('groupid') && item.groupid !==null ){
                                table.setRowChecked('orderlist', {
                                    index: index, // 所有行
                                    checked: false
                                });
                            }
                        })
                    }
                    search_che({status : '待调度'});
                }
            }

            setHwmx();
            
        });

        // 行单击事件
        table.on('row(orderlist)', function(obj) {
            //console.log(obj);
            //layer.closeAll('tips');
        });
        // 行双击事件
        table.on('rowDouble(orderlist)', function(obj) {
            console.log(obj);
        });

        // 单元格编辑事件
        table.on('edit(orderlist)', function(obj) {
            var field = obj.field; // 得到字段
            var value = obj.value; // 得到修改后的值
            var data = obj.data; // 得到所在行所有键值
            // 值的校验
            if (field === 'email') {
                if (!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(obj.value)) {
                    layer.tips('输入的邮箱格式不正确，请重新编辑', this, { tips: 1 });
                    return obj.reedit(); // 重新编辑 -- v2.8.0 新增
                }
            }
            // 编辑后续操作，如提交更新请求，以完成真实的数据更新
            // …
            layer.msg('编辑成功', { icon: 1 });

            // 其他更新操作
            var update = {};
            update[field] = value;
            obj.update(update);
        });

        //关联订单和车辆
        $('.guanlian').on('click',function(){

            // 获取选中的订单数据
            var orderlistcheckStatus = table.checkStatus('orderlist');
            var orderlistdata = orderlistcheckStatus.data;

            var chelaingcheckStatus = diaoducheliang.checkStatus('diaoducheliang');
            var cheliangdata = chelaingcheckStatus.data;

            if(orderlistdata.length == 0){
                layer.alert("没有选中订单!", {
                    title: '提示'
                });
                return false;
            }
            if(orderlistdata[0].orderstate !='待调度'){
                layer.alert("订单不合法!", {
                    title: '提示'
                });
                return false;
            }
            if(cheliangdata.length == 0){
                layer.alert("没有选中车辆!", {
                    title: '提示'
                });
                return false;
            }
            if(cheliangdata.length == 0){
                layer.alert("没有选中车辆!", {
                    title: '提示'
                });
                return false;
            }

            var groupid = 0 ;
            if(orderlistdata[0].groupid === null){
                groupid = orderlistdata[0].idx;
            }else{
                groupid = orderlistdata[0].groupid;
            }
            
            //订单id组
            var order_idxs = [];
            orderlistdata.forEach(function(item){
                order_idxs.push(item.idx) ;
            }) ;
            var idxs = order_idxs.join(',');

            //车辆组
            var che_ids = [];
            cheliangdata.forEach(function(item){
                che_ids.push(item.applyId) ;
            }) ;
            var cheids = che_ids.join(',');

            // console.log({
            //     idxs:idxs,
            //     cheids:cheids,
            //     groupid:groupid,
            // });
            // return false;

            $.get("/index.php?s=/store/wlyunshu.api/order_bind",{
                idxs:idxs,
                cheids:cheids,
                groupid:groupid,
            },function(resalt){
                if(resalt.code==0){
                    table.reloadData('orderlist');
                    diaoducheliang.reloadData('diaoducheliang');
                    layer.msg('关联完成', {icon: 1});
                    search_che({status : '待调度'});
                }else{
                    layer.msg('关联失败', {icon: 2});
                }
            });
        })

        //检索车辆
        function search_che(field){
            // 执行搜索重载
            table.reload('diaoducheliang', {
              page: {
                curr: 1 // 重新从第 1 页开始
              },
              where: field // 搜索的字段
            });
        }


        function setHwmx(){
        
            var huowus = [];

            var checkStatus = table.checkStatus('orderlist')
            var selected_data = checkStatus.data; // 获取选中的数据

            selected_data.forEach(function(item,index){
                if( Object.keys(item).includes('detail') ){
                    huowus = huowus.concat(item.detail);
                }
            })
            table_huowumingxi.reloadData('hwmx',{
                data:huowus
            });

        }









        //车辆紧急调度--------------------------------------------------------------->
        var diaoducheliang = layui.table;
        var dropdown = layui.dropdown;
        var diaoducheliang_newdata = false;
        var dropdown_feild = [
            { type: 'checkbox', fixed: 'left' },
            { field: 'idx',  width: 50, title: 'ID', sort: false},

            { field: 'orderstate',title: '状态',  width: 120,  sort: false},

            { field: 'cCAYUING_NO',title: '调度编码', width: 200,  sort: false},
            { field: 'cEMP_NM',title: '叫车人员', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cEMPMOBIL_TEL',title: '叫车手机', width: 120,  sort: false,templet:'#TPL-text-demo'},

            { field: 'cCAYING_NO',title: '调车单号', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'nMAT_QTY',title: '件数', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cUNIT_NM',title: '单位', width: 120,  sort: false,templet:'#TPL-text-demo'},

            { field: 'nMAIN_AMT',title: '运费总额', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'nOTH_AMT',title: '金额', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'nCAY_AMT',title: '运费金额', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'nOUG_AMT',title: '金额', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'nPAY_AMT',title: '已付金额', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'nPRE_AMT',title: '计划预付', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'nBAL_AMT',title: '结算金额', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cBAL_TAG',title: '结算别', width: 120,  sort: false,templet:'#TPL-text-demo'},

            { field: 'cFIN_MON',title: '帐款年月', width: 120,  sort: false,templet:'#TPL-laydate-demo'},

            { field: 'cSUPPLIER_NM',title: '承运商分类', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cSUPPLIER_SNM',title: '承运单位/个体', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cSUPLTEL_NO',title: '承运电话', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cSUPMOBIL_TEL',title: '承运手机', width: 120,  sort: false,templet:'#TPL-text-demo'},

            { field: 'cPURODR_NO',title: '协议单号', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cCAYING_DATE',title: '发货日期', width: 120,  sort: false,templet:'#TPL-laydate-demo'},
            { field: 'tREQARR_DT',title: '预计到货时间', width: 120,  sort: false,templet:'#TPL-laydate-demo'},

            { field: 'cVEHPLATE_NO',title: '车牌号码', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cVEHMAN_NM',title: '司机', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cMOBIL_TEL',title: '司机手机', width: 120,  sort: false,templet:'#TPL-text-demo'},

            { field: 'cLADING_ADDR',title: '起始地', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cEDAPANA_NM',title: '到达地', width: 120,  sort: false,templet:'#TPL-text-demo'},

            { field: 'cREMARK',title: '备注', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cVEHKIND_NM',title: '车辆类型', width: 120,  sort: false,templet:'#TPL-text-demo'},
            { field: 'cVEHSIZE_NM',title: '车辆尺寸', width: 120,  sort: false,templet:'#TPL-text-demo'},

            {fixed: 'right', title:'操作', width: 120, toolbar: '#befor_save_del_Demo'}
            
        ];

        // 创建渲染实例
        diaoducheliang.render({
            elem: '#diaoducheliang',
            url: '/index.php?s=/store/wlyunshu.api/getdiaoduche', // 此处为静态模拟数据，实际使用时需换成真实接口
            toolbar: '#toolbarDemo2',
            defaultToolbar: ['filter', 'exports', 'print',{
              title: '添加调度车辆',
              layEvent: 'addcar',
              icon: 'layui-icon-addition'
            }],
            height: '260', // full-35最大高度减去其他容器已占有的高度差
            css: [
              // 对开启了编辑的单元格追加样式
              '.layui-table-view td[data-edit]{color: #16B777;}'
            ].join(''),

            cellMinWidth: 80,
            where:{status :'待调度'},
            page: false,
            even: true,
            parseData: function(res){ // res 即为原始返回的数据

                if(res.data.list){
                    if(diaoducheliang_newdata){ //添加数据
                        let newRow = {'id':''};
                        dropdown_feild.forEach(function(item,index){
                            if (item.hasOwnProperty('field')) {
                                newRow[item.field] ='';
                            }
                        });
                        res.data.list.data.push(newRow);
                        diaoducheliang_newdata = false;
                    }

                    return {
                      "code": res.code, // 解析接口状态
                      "msg": res.msg, // 解析提示文本
                      "count": res.data.list.total, // 解析数据长度
                      "data": res.data.list.data // 解析数据列表
                    };
                }else{
                    if(diaoducheliang_newdata){ //添加数据
                        let newRow = {'id':''};
                        dropdown_feild.forEach(function(item,index){
                            if (item.hasOwnProperty('field')) {
                                newRow[item.field] ='';
                            }
                        });
                        diaoducheliang_newdata = false;
                        return {
                          "code": res.code, // 解析接口状态
                          "msg": res.msg, // 解析提示文本
                          "count": 1, // 解析数据长度
                          "data": [newRow] // 解析数据列表
                        };
                    }else{
                        return {
                          "code": res.code, // 解析接口状态
                          "msg": '暂无无数据', // 解析提示文本
                          "count": 0, // 解析数据长度
                          "data": [] // 解析数据列表
                        };
                    }
                }
                
            },
            cols: [
                dropdown_feild
            ],
            done: function(res, curr, count, origin) {
                var id = this.id;

                var options = this;
                table.getRowData = function(tableId, elem) {
                    var index = $(elem).closest('tr').data('index');
                    return table.cache[tableId][index] || {};
                };

                //设置分组单元格样式
                res.data.forEach(function(item,index){
                    if (item.调车状态 != '待调度') {
                        $(".diaoducheliang .layui-table tr[data-index="+index+"] input[type='checkbox']").attr('disabled', 'disabled');;
                        $(".diaoducheliang .layui-table tr[data-index="+index+"] .layui-form-checkbox").addClass("layui-checkbox-disabled layui-disabled");
                    }
                })



                // 数据新增及修改字段------------------------------------------->
                //日期
                laydate.render({
                    elem: '.laydate-demo',
                    done: function(value, date, endDate){
                        
                        var data = diaoducheliang.getRowData(options.id, this.elem); // 获取当前行数据(如 id 等字段，以作为数据修改的索引)

                        // 更新数据中对应的字段
                        data[$(this.elem).data('field')] = value;
                        // 显示 - 仅用于演示
                        //layer.msg('选中值: '+ value +'<br>当前行数据：'+ JSON.stringify(data));
                    }
                });

                $('.text-demo').on('input',function(e){
                    console.log(e);
                    var data = table.getRowData(options.id, this); // 获取当前行数据(如 id 等字段，以作为数据修改的索引)
                    // 更新数据中对应的字段
                    data[$(this).data('field')] = $(this).val();
                })


                /*laydate.render({
                    elem: '.text-demo',
                    done: function(value, date, endDate){
                        
                        // 显示 - 仅用于演示
                        layer.msg('选中值: '+ value +'<br>当前行数据：'+ JSON.stringify(data));
                    }
                });*/
                // 数据新增及修改字段------------------------------------------->



                // 行模式
                dropdown.render({
                    elem: '#rowMode',
                    data: [{
                        id: 'default-row',
                        title: '单行模式（默认）'
                    }, {
                        id: 'multi-row',
                        title: '多行模式'
                    }],
                    // 菜单被点击的事件
                    click: function(obj) {
                        var checkStatus = table.checkStatus(id)
                        var data = checkStatus.data; // 获取选中的数据
                        switch (obj.id) {
                            case 'default-row':
                                table.reload('diaoducheliang', {
                                    lineStyle: null // 恢复单行
                                });
                                layer.msg('已设为单行');
                                break;
                            case 'multi-row':
                                table.reload('diaoducheliang', {
                                    // 设置行样式，此处以设置多行高度为例。若为单行，则没必要设置改参数 - 注：v2.7.0 新增
                                    lineStyle: 'height: 95px;'
                                });
                                layer.msg('即通过设置 lineStyle 参数可开启多行');
                                break;
                        }
                    }
                });
            },
            error: function(res, msg) {
                console.log(res, msg)
            }
        });

        // 右侧工具栏事件
        diaoducheliang.on('toolbar(diaoducheliang)', function(obj) {
            var id = obj.config.id;
            var checkStatus = table.checkStatus(id);
            var othis = lay(this);
            switch (obj.event) {
                case 'getCheckData':
                    var data = checkStatus.data;
                    layer.alert(layui.util.escape(JSON.stringify(data)));
                    break;
                case 'getData':
                    var getData = table.getData(id);
                    console.log(getData);
                    layer.alert(layui.util.escape(JSON.stringify(getData)));
                    break;
                 case 'addcar':
                    diaoducheliang_newdata = true;
                    diaoducheliang.reloadData('diaoducheliang');
                   
                    break;
            };
        });
        // 表头自定义元素工具事件 --- 2.8.8+
        diaoducheliang.on('colTool(diaoducheliang)', function(obj) {
            var event = obj.event;
            console.log(obj);
            if (event === 'email-tips') {
                layer.alert(layui.util.escape(JSON.stringify(obj.col)), {
                    title: '当前列属性配置项'
                });
            }
        });

        // 触发单元格工具事件
        diaoducheliang.on('tool(diaoducheliang)', function(obj) { // 双击 toolDouble
            var data = obj.data; // 获得当前行数据
            // console.log(obj)
            if (obj.event === 'newdel') {
                diaoducheliang.reloadData('diaoducheliang');
            }else if(obj.event === 'save'){

                delete data['id'];
                data['orderstate'] = '待调度';

                $.get("/index.php?s=/store/wlyunshu.api/adddiaoduche",{
                    obj:data,
                },function(resalt){
                    if(resalt.code==0){
                        table.reloadData('orderlist');
                        diaoducheliang.reloadData('diaoducheliang');
                        layer.msg('新增成功', {icon: 1});
                        search_che({status : '待调度'});
                    }else{
                        layer.msg('新增失败', {icon: 2});
                    }
                });
            }


        });

        // 触发表格复选框选择
        /*diaoducheliang.on('checkbox(diaoducheliang)', function(obj) {
            console.log(obj)
        });*/

        // 触发表格单选框选择
        diaoducheliang.on('radio(diaoducheliang)', function(obj) {
            console.log(obj)
        });

        // 行单击事件
        diaoducheliang.on('row(diaoducheliang)', function(obj) {
            //console.log(obj);
            //layer.closeAll('tips');
        });
        // 行双击事件
        diaoducheliang.on('rowDouble(diaoducheliang)', function(obj) {
            console.log(obj);
        });

        // 单元格编辑事件
        /*diaoducheliang.on('edit(diaoducheliang)', function(obj) {
            var field = obj.field; // 得到字段
            var value = obj.value; // 得到修改后的值
            var data = obj.data; // 得到所在行所有键值
            // 值的校验
            if (field === 'email') {
                if (!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(obj.value)) {
                    layer.tips('输入的邮箱格式不正确，请重新编辑', this, { tips: 1 });
                    return obj.reedit(); // 重新编辑 -- v2.8.0 新增
                }
            }
            // 编辑后续操作，如提交更新请求，以完成真实的数据更新
            // …
            layer.msg('编辑成功', { icon: 1 });

            // 其他更新操作
            var update = {};
            update[field] = value;
            obj.update(update);
        });*/





    });
    </script>
    </script>
    <script src="/Public/Index/js/index.js"></script>
</body>

</html>
